package br.com.servlets;

import br.com.business.ItemBO;
import br.com.model.Filme;
import br.com.model.Item;
import br.com.model.TipoMidia;
import br.com.type.EstadoItem;
import br.com.type.CodigoBarras;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hercules Sandim
 */
public class CadastroItem extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public CadastroItem() {
        super();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
        //TODO
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Item item = null;

        
        String numeroserie = req.getParameter("numeroserie");

        int tipoMidia = Integer.parseInt(req.getParameter("tipoMidia"));
        String estadoItem = req.getParameter("estadoItem");
        
        int filmeForm = Integer.parseInt(req.getParameter("filme"));
           
        String data = req.getParameter("data");
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        Date datanascimento = null;
        
        
        try {
            datanascimento = new Date(sdf.parse(data).getTime());          
        } catch (ParseException ex) {
            Logger.getLogger(CadastroItem.class.getName()).log(Level.SEVERE, null, ex);
        }
      
        CodigoBarras codigo = null; 
        try {
            codigo = new CodigoBarras(numeroserie);
        } catch (Exception ex) {
            Logger.getLogger(CadastroItem.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
        TipoMidia midia = new TipoMidia(tipoMidia);
        Filme filme = new Filme(filmeForm); 
       
         item = new Item(codigo , datanascimento , EstadoItem.valueOf(estadoItem), midia, filme);

        ItemBO itemBo = new ItemBO();

        /*
         * Aqui tem que estar comentado, pois nao existe o banco de dados JDBC
         * MySQL, como no exemplo...
         */
        
        itemBo.insereItem(item);
         


        //Imprimindo o cliente "capturado", na tela !!!
        PrintWriter out = resp.getWriter();

        out.println("<p>N�mero de inscri��o: " + item.getNumeroSerie().getCodigoBarras()+"</p>");
        out.println("<p>data: " + item.getDtAquisicao().toString()+ "</p>");
        out.println("<p>estado: " + item.getEstado().name()+ "</p>");
        out.println("<p>tipomidia" + item.getTipoMidia().getIdTipoMidia().toString()+ "</p>");
        out.println("<p>filme: " + item.getFilme().getIdFilme().toString()+ "</p>");
        
        out.println("<a href='index.jsp'>P�gina Inicial</a>");

        out.close();

    }
}
